Skip to content

[release-v1.40] Default calico-node to the node's own DNS resolver - #5249

Merged
caseydavenport merged 2 commits into
tigera:release-v1.40from
caseydavenport:casey-node-dns-default-v1.40
Sep 1, 2026
Merged

[release-v1.40] Default calico-node to the node's own DNS resolver#5249
caseydavenport merged 2 commits into
tigera:release-v1.40from
caseydavenport:casey-node-dns-default-v1.40

Conversation

@caseydavenport

Copy link
Copy Markdown
Member

Description

Backport of #5246.

calico-node runs before CNI is installed, so cluster DNS is not reachable on the node when it starts. It inherited the operator's ClusterFirstWithHostNet policy, leaving the CoreDNS ClusterIP as its only resolver, which deadlocks the rollout on a cluster where the Kubernetes API server is reachable only by name. It defaults to the node's own resolver instead, and inherits the operator's DNS settings only when the operator has an explicit dnsConfig.

Release Note

Fixed a deadlock on clusters where the Kubernetes API server is reachable only by name, by defaulting calico-node to the node's own DNS resolver.

calico-node runs before CNI is installed, so cluster DNS is not reachable
when it starts. It now inherits the operator's DNS settings only when the
operator has an explicit dnsConfig.
The installation controller reads the crd.projectcalico.org/v1 FelixConfiguration, and sets the degraded message and the error separately.
@caseydavenport
caseydavenport merged commit 0e1f851 into tigera:release-v1.40 Sep 1, 2026
3 checks passed
@caseydavenport
caseydavenport deleted the casey-node-dns-default-v1.40 branch September 1, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants